import type { ResourcesVO } from '@/request/api/resources'
import type { DialogEnum } from '@/enum'
// 将属性变为可选
export type MakeOptional<T> = {
  [K in keyof T]?: T[K]
}

// 工具类型：从枚举中提取所有值
export type EnumValues<T> = T[keyof T]

export type SystemType = {
  // 是否离开页面
  isLeave: boolean
  // 是否开启滚动阻尼
  isOpenLenis: boolean
  // 是否开启点击效果
  isOpenClick: boolean
  // 管理端面包屑
  routeMap: Map<string, string>
  // 资源列表
  resources: ResourcesVO[]
  // 显示移动端导航
  isShowMobile: boolean
  // 小于1024
  isLt1024: boolean
  // 小于768
  isLt768: boolean
  // 浏览器信息
  browserName: string
  // 浏览器版本信息
  browserVersion: string
  // 操作系统信息
  osName: string
  // 操作系统版本信息
  osVersion: string
}

export type BgType = {
  bgLightColor: string
  bgDarkColor: string
  bgSecondLight: string
  bgSecondDark: string
  bgThirdLight: string
  bgThirdDark: string
  bgType: 'dark' | 'light'
  bgIsAuto: boolean
}

export type DialogType = EnumValues<typeof DialogEnum>
